package dominio;

public final class Jugador implements Comparable <Jugador>{

    //Atributos
    private String nombre;
    private String alias;
    private int edad;
    private int partidasGanadas;
    private Ficha ficha;

    
    //Métodos de acceso y modificación
    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getAlias() {
        return alias;
    }

    public void setAlias(String alias) {
        this.alias = alias;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public int getPartidasGanadas() {
        return partidasGanadas;
    }

    public void setPartidasGanadas(int partidasGanadas) {
        this.partidasGanadas = partidasGanadas;
    }

    public Ficha getFicha() {
        return ficha;
    }

    public void setFicha(Ficha ficha) {
        this.ficha = ficha;
    }

    
    //Constructor
    public Jugador() {
        this.setNombre("");
        this.setAlias("");
        this.setEdad(0);
        this.setPartidasGanadas(0);
        this.setFicha(new Ficha(' '));   //VER CONSTRUCTOR
    }

    
    //toString
    @Override
    public String toString() {
        return "Nombre: " + this.getNombre() + "\n"
                + "  Alias:" + this.getAlias() + "\n"
                + "  Edad:" + this.getEdad() + "\n";
    }
    
    
    //Método que ordena jugadores por partidas ganadas
    @Override
    public int compareTo(Jugador jugador){
        int dif = this.getPartidasGanadas() - (jugador.getPartidasGanadas());;
        return dif;
        }
}